1. Field of the Invention
The invention relates to a method and a device, in which noise filtering is applied. The invention further applies to a video system.
2. Description of the Related Art
There is presently an increasing interest in digital transmission of image sequences, e.g., through the Internet. Especially in the consumer electronics area, the sources of these images, such as, video cameras, video recorders, satellite receivers and others, are affected by various types of noise. In particular, in the case of CCD and CMOS cameras, the sensor noise is usually modeled as white Gaussian, whereas vertical or horizontal streaks may be found in video scanned from motion picture films or played by a video recorder, respectively. Before storage and/or transmission, it is advisable to reduce the noise level in the images, both to improve the visual appearance and to reduce the bit rate. Various algorithms are known in the art for the attenuation of noise having different distributions, these algorithms being generally very complex and, consequently not being amenable to real-time implementation in consumer equipment, or providing poor performance, typically introducing artifacts and smoothing edges.
An object of the invention is to provide less complex noise reduction. To this end, the invention provides a method of and a device for noise filtering and a video system.
In a first embodiment of the invention, a type of noise in the signal is estimated, and one of at least two noise filters is enabled, the enabled noise filter being one most suitable for the estimated type of noise. The invention is based on the insight that estimating a type of noise and automatically enabling one filter out of a set of simple filters, each favorable to a specific noise type, is more effective than a complex filter which has to cope with different noise characteristics. Both the noise type estimation and the filters have a low complexity and are amenable for low-cost applications.
Edge preserving noise reduction can be achieved using spatio-temporal rational and median-based filters. A rational filter is a filter described by a rational function, e.g., the ratio of two polynomials in input variables. It is well known that spatio-temporal rational filters can effectively distinguish between details and homogeneous regions by modulating their overall low-pass behavior according to the differences of suitably chosen pixels (see Ref. [1]), so that noise is significantly reduced while details are not blurred. They are effective on various types of noise, including Gaussian noise (Ref. [1]) and contaminated Gaussian noise (Ref. [2]). Contaminated Gaussian noise has a probability distribution according to:                                           v            ~                          (                              1                -                λ                            )                                ⁢                      N            ⁡                          (                              σ                n                            )                                      +                  λ          ⁢                      xe2x80x83                    ⁢                      N            ⁡                          (                                                σ                  n                                λ                            )                                                          (        1        )            
wherein xcex is a parameter and N("sgr") is a Gaussian distribution with variance "sgr". A variance of the contaminated Gaussian distribution is given by:
"sgr"v2="sgr"n2(1xe2x88x92xcex+1/xcex)xe2x80x83xe2x80x83(2)
In case of long-tailed noise, a simple median filter (Ref. [3]) is used, which is effective both for single noisy pixels and for horizontal and vertical streaks, so that there is no need to distinguish between ideal and real impulsive noise. Median-based operators are very efficient in case of long-tailed noise, especially impulsive noise, while their use in case of Gaussian noise is not advisable, because they tend to generate streaking and blotching artifacts.
A further embodiment of the invention uses a simple algorithm to estimate the type of noise in the image sequence. This embodiment uses a kurtosis of the noise as a metric for the type of noise. The kurtosis is defined as (Ref. [4]):
xe2x80x83k=xcexc4/"sgr"4xe2x80x83xe2x80x83(3)
where xcexc4 is a fourth central moment of the data, and "sgr" is a variance of the data in the image sequence. The fourth central moment is given by:
xcexc4=E(xxe2x88x92{overscore (x)})4xe2x80x83xe2x80x83(4)
where E is an expectation of a variable and E(x)={overscore (x)}. The fourth central moment xcexc4 is related to the peakedness of a single-peaked distribution. The kurtosis is dimensionless with k=3 for a Gaussian distribution. A kurtosis value of 3 therefore means that the noise distribution has, in some sense, a same degree of peakedness as a member of the normal family. Further, k greater than 3 for contaminated Gaussian noise, and K greater than  greater than 3 for impulsive noise.
Prior art operators which are able to distinguish among several types of noise, are very complex. For example, in Ref. [5], a block-based, non-linear filtering technique, based on Singular Value Decomposition that employs an efficient method of estimating noise power from input data, is presented. However, an hypothesis of additive noise is required, and only Gaussian distributions are used. In Ref. [6], in order to detect and estimate both deterministic and random Gaussian signals in non-Gaussian noise, the covariance of the latter is determined using higher order cumulants. The inverse problem is treated in Ref. [7], where signal detection and classification in the presence of additive Gaussian noise is performed using higher-o:-der statistics.
The input signal x is formed by an original noise-free signal y and a noise signal n according to: x=y+n. In a further embodiment of the invention, the noise n is approximated by computing a difference between the signal x and the same signal being noise filtered, preferably in a median filter (Ref. [8]). A median of N numerical values is found by taking a middle value in an array of the N numerical values sorted in increasing order. A median filter may also be referred to as a non-linear shot noise filter, which maintains high frequencies. Due to the well-known noise reduction and edge preserving properties of the median filter, the resulting signal, z=xxe2x88x92median(x), is composed approximately of noise only, i.e., z≅n. The kurtosis k is then estimated on z to provide an indication of the type of noise. Although z does not coincide with the original noise n, for reasonable values of the noise variance (in case of Gaussian noise or contaminated Gaussian noise) or of a percentage of noisy pixels (in case of impulsive noise), the parameter k allows to correctly discriminate the types of noise, using two suitable thresholds. There is no overlap in values of the parameter k for Gaussian, contaminated Gaussian and long-tailed noise, so that it is actually possible to correctly discriminate the various noise types using two thresholds, being 6 and 15.
Preferably, because the:noise is supposed to be spatially uniform, a small part of each image (e.g., 3 by 3 pixels sub-image) is analyzed, in order to keep the computational load per image low. Because a stable estimate is needed, an analysis is preferably performed by cumulating data for a plurality of images before actually computing k. An estimate over 900 pixels (i.e., over 100 frames) has a reasonable low variance.
The aforementioned and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.